博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
01_8_session
阅读量:4520 次
发布时间:2019-06-08

本文共 3381 字,大约阅读时间需要 11 分钟。

01_8_session

1. session总结

1.1服务器的一块内存(key-value)

1.2和客户端窗口对应(子窗口)(独一无二)

1.3客户端和服务器有对应的SessionID

1.4客户端服务器端发送SessionID的时候两种方式

  1. cookie(内存cookie)
  2. rewrite URL

1.5浏览器禁掉cookie,就不能使用session(使用cookie实现session

1.6如果想安全的使用session(不论客户端是否禁止cookie),只能使用URL重写(大大增加编程负担),很多网站要求客户端打开cookie

2.例子

2.1ShowSession.java

public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException { response.setContentType("text/html; charset=utf-8");PrintWriter out = response.getWriter();String title = "Session Tracking Example";HttpSession session = request.getSession(true);String heading;Integer accessCount = (Integer) session.getAttribute("accessCount");System.out.println(accessCount);if (accessCount == null) {accessCount = new Integer(0);heading = "Welcom, Newcomer";System.out.println(accessCount);} else {heading = "Welcome Back";accessCount = new Integer(accessCount.intValue() + 1);}session.setAttribute("accessCount", accessCount);/*Integer access = (Integer) session.getAttribute("accessCount");System.out.println(access);*/out.println("");out.println("");out.println("  Session追踪");out.println("  ");out.print("

" + heading + "

");out.print("

Information on Your Session:

");out.println("
Info Type Value
Creation Time " + new Date(session.getCreationTime())+ "
Time of Last Access " + new Date(session.getLastAccessedTime()) + "
Number of Previous Accesses " + accessCount+ "
");out.println(" ");out.println("");out.flush();out.close();}

 

 

2.2SessionInfoServlet.java

public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException { response.setContentType("text/html; charset=utf-8");PrintWriter out = response.getWriter();HttpSession session = request.getSession(true); out.println("");out.println("");out.println("  Session Info Servlet");out.println("  ");out.print("

Session Information

");out.print("New Session:" + session.isNew());out.println("
Session ID:" + session.getId());out.println("
Session Creation Time:" + new Date(session.getCreationTime()));out.println("
Session Last Accessed Time:" + new Date(session.getLastAccessedTime()));out.println("

Request Information

");out.println("Session ID from Request:" + request.getRequestedSessionId());out.println("
Session ID Via Cookie:" + request.isRequestedSessionIdFromCookie());out.println("
Session ID Via rewritten URL:" + request.isRequestedSessionIdFromURL());out.println("
Valid Sesion ID:" + request.isRequestedSessionIdValid());out.println(" ");out.println("");out.flush();out.close();}

 

 

2.3URLSession.java

public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException { response.setContentType("text/html; charset=utf-8");PrintWriter out = response.getWriter();HttpSession session = request.getSession(true);out.println("");out.println("");out.println("  Session 追踪");out.println("  ");out.print("session id:" + session.getId() + "
");out.print("from url:" + request.isRequestedSessionIdFromUrl() + "
");out.print("from cookie:" + request.isRequestedSessionIdFromCookie() + "
");out.println(" test
");out.println(" test
");out.println(" ");out.println("");out.flush();out.close();}

 

转载于:https://www.cnblogs.com/flyback/p/8721669.html

你可能感兴趣的文章
word2vec----CBOW
查看>>
衰减学习率真的有用吗?
查看>>
ORACLE 建库过程总结
查看>>
Ogre1.8.1 Basic Tutorial 6 - The Ogre Startup Sequence
查看>>
构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(36)-文章发布系统③-kindeditor使用...
查看>>
c# Winform 开发分屏显示应用程序
查看>>
canvas刮奖
查看>>
javascript 模拟滚动 隐藏滚动条
查看>>
手把手教你使用 Clion 开发 Linux C++ 项目
查看>>
阿里巴巴卖空阿里巴巴入股新浪微博抑制投资者卖空行为
查看>>
分析打开hdu 3335 (最小路径覆盖)
查看>>
添加源ubuntu_x64 安装 Adobe Reader
查看>>
NFS-heartbeat-drbd模拟NFS高可用
查看>>
SQL Server性能调优:资源管理之内存管理篇(上)
查看>>
javaScript 基础知识
查看>>
接近开关,光耦
查看>>
基于visual Studio2013解决C语言竞赛题之1033数字交换
查看>>
给datalist加自动编号(解决博客的第XX楼)
查看>>
BZOJ3282: Tree (LCT模板)
查看>>
ES6中变量的解构赋值
查看>>